#!/usr/bin/env node

/**
 * 立即启动后端服务器
 */

const { spawn } = require('child_process');
const path = require('path');

// 项目路径
const PROJECT_ROOT = path.dirname(__filename);
const BACKEND_DIR = path.join(PROJECT_ROOT, 'backend');

console.log('🚀 立即启动后端服务器...');
console.log(`📁 后端目录: ${BACKEND_DIR}`);

// 切换到后端目录并启动服务器
process.chdir(BACKEND_DIR);

// 启动后端服务器
const backendProcess = spawn('node', ['start-server.js'], {
  stdio: 'inherit',
  env: {
    ...process.env,
    NODE_ENV: 'development',
    PORT: '3001'
  }
});

backendProcess.on('error', (error) => {
  console.error('❌ 启动后端服务器失败:', error.message);
  process.exit(1);
});

backendProcess.on('exit', (code) => {
  if (code !== 0) {
    console.error(`❌ 后端服务器异常退出，退出码: ${code}`);
  } else {
    console.log('✅ 后端服务器正常退出');
  }
});

// 处理进程退出
process.on('SIGINT', () => {
  console.log('\n🛑 正在停止后端服务器...');
  backendProcess.kill('SIGINT');
});

process.on('SIGTERM', () => {
  console.log('\n🛑 正在停止后端服务器...');
  backendProcess.kill('SIGTERM');
});

console.log('✅ 后端服务器启动中，请等待...');
console.log('📍 服务器地址: http://localhost:3001');
console.log('📍 健康检查: http://localhost:3001/health');
console.log('📍 API文档: http://localhost:3001/api-docs');
console.log('\n按 Ctrl+C 停止服务器');